#ifndef GateServer_h__
#define GateServer_h__

#include "Common.h"
#include "boost/enable_shared_from_this.hpp"

#include "JME_TcpSession.h"
#include "JME_NetHandler.h"
#include "JME_Dispatcher.h"
#include "JME_Message.h"
#include "JME_RpcClient.h"
#include "JME_RpcServer.h"
#include "JME_ServerInterface.h"

#include "JME_Singleton.h"
USING_NAMESPACE_JMENGINE;
USING_NAMESPACE_JMENGINE_NET;
USING_NAMESPACE_JMENGINE_GAME;
USING_NAMESPACE_JMENGINE_RPC;

class GateServer : 
	public JME_ServerInterface
{
public:
	typedef boost::shared_ptr<GateServer> GateServerPtr;
public:
	GateServer();
	~GateServer();

	static GateServer::GateServerPtr getInstance();

	void sendClientMsg(int net, const JME_Message& msg);
private:
	void init();
};

#endif // GateServer_h__
